package com.ruoyi.student.mapper;

import java.util.List;
import com.ruoyi.student.domain.StuZxj;
import org.apache.ibatis.annotations.Param;

/**
 * 助学金Mapper接口
 *
 * @author 钟彧
 * @date 2022-07-04
 */
public interface StuZxjMapper
{
    /**
     * 查询助学金
     *
     * @param zxjId 助学金主键
     * @return 助学金
     */
    public StuZxj selectStuZxjByZxjId(Long zxjId);

    /**
     * 查询助学金
     *
     * @param zxjId 助学金主键,userID 用户ID
     * @return 助学金
     */
    public StuZxj selectStuZxjByZxjIdAndUid(@Param("zxjId") Long zxjId, @Param("userId") Long userId);

    /**
     * 教师获取单条助学金
     * @param zxjId
     * @return
     */
   public StuZxj queryStuZxj(StuZxj stuZxj);

    /**
     * 查询助学金列表
     *
     * @param stuZxj 助学金
     * @return 助学金集合
     */
    public List<StuZxj> selectStuZxjList(StuZxj stuZxj);

    /**
     * 查询助学金列表(教师审批用)
     *
     * @param stuZxj 助学金
     * @return 助学金集合
     */
    public List<StuZxj> selectStuZxjListByTeacher(StuZxj stuZxj);

    /**
     * 新增助学金
     *
     * @param stuZxj 助学金
     * @return 结果
     */
    public int insertStuZxj(StuZxj stuZxj);

    /**
     * 修改助学金
     *
     * @param stuZxj 助学金
     * @return 结果
     */
    public int updateStuZxj(StuZxj stuZxj);

    /**
     * 删除助学金
     *
     * @param zxjId 助学金主键
     * @return 结果
     */
    public int deleteStuZxjByZxjId(Long zxjId);

    /**
     * 批量删除助学金
     *
     * @param zxjIds 需要删除的数据主键集合
     * @return 结果
     */

    public int deleteStuZxjByZxjIds(Long[] zxjIds);

    /**
     *
     * @param zxjIds 根据userId来删除自己的助学金
     * @param userId
     * @return
     */
    int deleteStuZxjByZxjIdsAndUid(@Param("array") Long[] zxjIds,@Param("userId") Long userId);

    /**
     * 当前已提交助学金条数
     * @param userId
     * @return
     */
    public int getYTJ(Long userId);

    /**
     * 当前审核中助学金条数
     * @param userId
     * @return
     */
    public int getSHZ(Long userId);

    /**
     * 当前已通过助学金条数
     * @param userId
     * @return
     */
    public int getYTG(Long userId);

    /**
     * 当前未通过助学金条数
     * @param userId
     * @return
     */
    public int getWTG(Long userId);
}
